home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 3: Developer Tools / Linux Cubed Series 3 - Developer Tools.iso / devel / lang / eiffel / smalleif.97 / se.t / SmallEiffel / bin_c / pretty3.c < prev    next >
Encoding:
C/C++ Source or Header  |  1996-05-02  |  29.1 KB  |  1,271 lines

  1. /* ANSI C code generated by SmallEiffel. */
  2. /*
  3. -- SmallEiffel  -- Release (- 0.97)    --      FRANCE
  4. -- Copyright (C), 1994 - Dominique COLNET and Suzanne COLLIN 
  5. -- University Henri Poincare' - Nancy 1 - email colnet@loria.fr 
  6. -- CRIN (Centre de Recherche en Informatique de Nancy)
  7. -- FRANCE 
  8. */
  9. #include "pretty.h"
  10. void rT26error_style(T26 *C,T0* a1){
  11. C->_state=2;
  12. /*UT*/(T43*)oRBC27eh;
  13. rT43append((T0 *)ms35);
  14. /*UT*/(T43*)oRBC27eh;
  15. rT43append((C)->_style);
  16. /*UT*/(T43*)oRBC27eh;
  17. rT43append((T0 *)ms36);
  18. /*UT*/(T43*)oRBC27eh;
  19. rT43append(a1);
  20. /*UT*/(T43*)oRBC27eh;
  21. rT43append((T0 *)ms37);
  22. rT43print_as_error((T43*)oRBC27eh);
  23. }
  24. void rT26add_directory(T26 *C,T0* a1,T0* a2){
  25. rT7append((T7*)a1,a2);
  26. rT7extend((T7*)a1,rT26directory_separator(C));
  27. }
  28. T0*oRBC26path;
  29. void rT26print_hlp(T26 *C,T0* a1){
  30. rT7copy((T7*)oRBC27hlp_file_name,rT26small_eiffel_directory(C));
  31. rT26add_directory(C,oRBC27hlp_file_name,(T0 *)ms21);
  32. rT7append((T7*)oRBC27hlp_file_name,a1);
  33. /*IF*/if (!(rT7has_suffix((T7*)oRBC27hlp_file_name,(T0 *)ms22))) {
  34. rT7append((T7*)oRBC27hlp_file_name,(T0 *)ms22);
  35. }
  36. /*FI*//*IF*/if (!(rT26file_exists(C,oRBC27hlp_file_name))) {
  37. rT33put_string((T33*)oRBC1std_error,(T0 *)ms24);
  38. rT33put_string((T33*)oRBC1std_error,oRBC27hlp_file_name);
  39. rT33put_string((T33*)oRBC1std_error,(T0 *)ms25);
  40. rT26die_with_code(C,1);
  41. }
  42. /*FI*/rT38append_file((T38*)oRBC1std_output,oRBC27hlp_file_name);
  43. }
  44. void rT26pretty_for(T26 *C,T0* a1){
  45. T0 * _new_file=NULL;
  46. T0 * _e_class=NULL;
  47. _e_class=rT50load_class((T50*)oRBC27small_eiffel,a1);
  48. /*IF*/if (!(_e_class)) {
  49. /*UT*/(T43*)oRBC27eh;
  50. rT43append((T0 *)ms445);
  51. /*UT*/(T43*)oRBC27eh;
  52. rT43append(a1);
  53. rT26fatal_error((T0 *)ms446);
  54. }
  55. else {
  56. rT7copy((T7*)oRBC26path,((T48*)_e_class)->_path);
  57. rT7copy((T7*)oRBC26backup,oRBC26path);
  58. rT7remove_suffix((T7*)oRBC26backup,(T0 *)ms49);
  59. rT7append((T7*)oRBC26backup,(T0 *)ms447);
  60. /*IF*/if (rT26file_exists(C,oRBC26backup)) {
  61. /*UT*/(T43*)oRBC27eh;
  62. rT43append((T0 *)ms448);
  63. /*UT*/(T43*)oRBC27eh;
  64. rT43append(oRBC26backup);
  65. rT26fatal_error((T0 *)ms449);
  66. }
  67. /*FI*/rT26rename_file(C,oRBC26path,oRBC26backup);
  68. /*IF*/if (!(rT26file_exists(C,oRBC26backup))) {
  69. /*UT*/(T43*)oRBC27eh;
  70. rT43append((T0 *)ms451);
  71. /*UT*/(T43*)oRBC27eh;
  72. rT43append(oRBC26path);
  73. rT26fatal_error((T0 *)ms452);
  74. }
  75. /*FI*/_new_file=rT26open_write(C,oRBC26path);
  76. rT259connect_to((T259*)oRBC27fmt,_new_file);
  77. rT48pretty_print((T48*)_e_class);
  78. XrT34disconnect(_new_file);
  79. /*IF*/if (!(rT50re_load_class((T50*)oRBC27small_eiffel,_e_class))) {
  80. /*UT*/(T43*)oRBC27eh;
  81. rT43append((T0 *)ms492);
  82. /*UT*/(T43*)oRBC27eh;
  83. rT43append(oRBC26backup);
  84. rT26fatal_error((T0 *)ms493);
  85. }
  86. /*FI*/}
  87. /*FI*/}
  88. void rT26pretty_print(T26 *C){
  89. int _i=0;
  90. _i=((T42*)rT26class_names())->_lower;
  91. while (!((_i)>(((T42*)rT26class_names())->_upper))) {
  92. rT26pretty_for(C,rT42item((T42*)rT26class_names(),_i));
  93. _i=(_i)+(1);
  94. }
  95. }
  96. T0 * rT26open_write(T26 *C,T0* a1){
  97. T0 * R=NULL;
  98. {T34 *n=((T34*)new(34));
  99. rT34connect_to(n,a1);
  100. R=(T0 *)n;}
  101. /*IF*/if (!(XrT34is_connected(R))) {
  102. rT33put_string((T33*)oRBC1std_error,(T0 *)ms454);
  103. rT33put_string((T33*)oRBC1std_error,a1);
  104. rT33put_string((T33*)oRBC1std_error,(T0 *)ms455);
  105. rT26die_with_code(C,1);
  106. }
  107. /*FI*/return R;
  108. }
  109. T0* rT26clone(T26 *C,T0* a1){
  110. T0* R=NULL;
  111. /*IF*/if (((int)a1)) {
  112. R=(T0 *)new(a1->id);
  113. AF_1
  114. XrT28copy(R,a1);
  115. AF_0
  116. }
  117. /*FI*/return R;
  118. }
  119. void rT26rename_file(T26 *C,T0* a1,T0* a2){
  120. rT7extend((T7*)a1,'\0');
  121. rT7extend((T7*)a2,'\0');
  122. rename(((T7 *)a1)->_storage,((T7 *)a2)->_storage);
  123. rT7remove_last((T7*)a1,1);
  124. rT7remove_last((T7*)a2,1);
  125. }
  126. int ofBC26class_names=0;
  127. T0*oRBC26class_names;
  128. T0* rT26class_names(/*C*/void){
  129. T0* R=NULL;
  130. if (ofBC26class_names==0){
  131. ofBC26class_names=1;
  132. {T42 *n=((T42*)new(42));
  133. rT42make(n,1,10);
  134. R=(T0 *)n;}
  135. rT42clear((T42*)R);
  136. oRBC26class_names=R;}
  137. return oRBC26class_names;}
  138. T0*oRBC1std_output;
  139. int ofBC27small_eiffel_directory=0;
  140. T0*oRBC27small_eiffel_directory;
  141. T0* rT26small_eiffel_directory(T26 *C){
  142. T0* R=NULL;
  143. char _slash='\0';
  144. int _i=0;
  145. if (ofBC27small_eiffel_directory==0){
  146. ofBC27small_eiffel_directory=1;
  147. R=rT26get_environment_variable(C,(T0 *)ms14);
  148. /*IF*/if (!(R)) {
  149. R=rT26clone(C,(T0 *)ms14);
  150. rT7to_upper((T7*)R);
  151. R=rT26get_environment_variable(C,R);
  152. /*IF*/if (((int)R)) {
  153. rT7to_upper((T7*)(T0 *)ms14);
  154. }
  155. /*FI*/}
  156. /*FI*//*IF*/if (!(R)) {
  157. R=(T0 *)ms20;
  158. }
  159. /*FI*/_i=((T7*)R)->_count;
  160. while (!((_i)<(0))) {
  161. _slash=rT7item((T7*)R,_i);
  162. /*IF*/if ((rT3is_letter(_slash))||(rT3is_digit(_slash))) {
  163. _i=(_i)-(1);
  164. }
  165. else {
  166. _i=-(1);
  167. }
  168. /*FI*/}
  169. /*IF*/if ((_i)==(0)) {
  170. rT7extend((T7*)R,'\57');
  171. }
  172.  else if (!((rT7last((T7*)R))==(_slash))) {
  173. rT7extend((T7*)R,_slash);
  174. }
  175. /*FI*/oRBC27small_eiffel_directory=R;}
  176. return oRBC27small_eiffel_directory;}
  177. void rT26copy(T26 *C,T0 * a1){
  178. /*IF*//*AF*//*AE*/
  179. memcpy(C,a1,s[C->id]);
  180. /*FI*/}
  181. void rT26make(T26 *C){
  182. /*IF*/if ((argument_count)<(1)) {
  183. rT33put_string((T33*)oRBC1std_error,(T0 *)ms5);
  184. rT26print_hlp(C,(T0 *)ms28);
  185. rT26die_with_code(C,1);
  186. }
  187. else {
  188. rT26automat(C);
  189. }
  190. /*FI*/}
  191. int rT26file_exists(T26 *C,T0* a1){
  192. int R=0;
  193. rT7extend((T7*)a1,'\0');
  194. {FILE *f=fopen(((T7 *)a1)->_storage,"r");
  195. R=(f != NULL);
  196. fclose(f);}
  197. rT7remove_last((T7*)a1,1);
  198. return R;
  199. }
  200. void rT34die_with_code(T34 *C,int a1){
  201. exit(a1);
  202. }
  203. int rT34is_connected(T34 *C){
  204. int R=0;
  205. R=((int)(C)->_path);
  206. return R;
  207. }
  208. void rT34crash(T34 *C){
  209. rsp();
  210. rT34die_with_code(C,1);
  211. }
  212. void rT34disconnect(T34 *C){
  213. int _err=0;
  214. _err=fclose((C)->_output_stream);
  215. C->_path=NULL;
  216. }
  217. void rT34connect_to(T34 *C,T0* a1){
  218. C->_mode=(T0 *)ms453;
  219. C->_output_stream=rT34fopen(C,a1,(C)->_mode);
  220. /*IF*/{/*AT*/C->_path=a1;
  221. }
  222. /*FI*/}
  223. void * rT34fopen(T34 *C,T0* a1,T0* a2){
  224. void * R=NULL;
  225. rT7extend((T7*)a1,'\0');
  226. rT7extend((T7*)a2,'\0');
  227. R=(T0 *)fopen(((Tstring *)a1)->_storage,((Tstring *)a2)->_storage);
  228. rT7remove_last((T7*)a1,1);
  229. rT7remove_last((T7*)a2,1);
  230. return R;
  231. }
  232. void rT34copy(T34 *C,T0 * a1){
  233. /*IF*//*AF*//*AE*/
  234. memcpy(C,a1,s[C->id]);
  235. /*FI*/}
  236. void rT34put_character(T34 *C,char a1){
  237. char _err='\0';
  238. _err=fputc(a1,(C)->_output_stream);
  239. /*IF*/if ((_err)!=(a1)) {
  240. rT33put_string((T33*)oRBC1std_error,(T0 *)ms1);
  241. rT34crash(C);
  242. }
  243. /*FI*/}
  244. T0 * rT214add_comment(/*C*/T0 * a1){
  245. T0 * R=NULL;
  246. return R;
  247. }
  248. void rT214pretty_print(T214 *C){
  249. XrT174pretty_print((C)->_instruction);
  250. rT259level_incr((T259*)oRBC27fmt);
  251. rT259indent((T259*)oRBC27fmt);
  252. rT259level_decr((T259*)oRBC27fmt);
  253. rT57pretty_print((T57*)(C)->_comment);
  254. }
  255. void rT214copy(T214 *C,T0 * a1){
  256. /*IF*//*AF*//*AE*/
  257. memcpy(C,a1,s[C->id]);
  258. /*FI*/}
  259. void rT214make(T214 *C,T0 * a1,T0 * a2){
  260. C->_instruction=a1;
  261. C->_comment=a2;
  262. }
  263. int rT39end_of_input(T39 *C){
  264. int R=0;
  265. R=feof((FILE *)(C)->_input_stream);
  266. return R;
  267. }
  268. int rT39is_connected(T39 *C){
  269. int R=0;
  270. R=((int)(C)->_path);
  271. return R;
  272. }
  273. void rT39disconnect(T39 *C){
  274. int _err=0;
  275. _err=fclose((C)->_input_stream);
  276. C->_path=NULL;
  277. }
  278. T0*oRBC39last_string;
  279. char rT39last_character(T39 *C){
  280. char R='\0';
  281. R=(C)->_last_character_memory;
  282. return R;
  283. }
  284. void rT39connect_to(T39 *C,T0* a1){
  285. /*(IRF3*/((C)->_mode)=((T0 *)ms26);
  286. /*)*/C->_input_stream=rT39fopen(C,a1,(C)->_mode);
  287. /*IF*/{/*AT*/C->_path=a1;
  288. }
  289. /*FI*/}
  290. void rT39skip_separators(T39 *C){
  291. while (!((rT39end_of_input(C))||(!(rT3is_separator(rT39last_character(C)))))) {
  292. rT39read_character(C);
  293. }
  294. }
  295. void * rT39fopen(T39 *C,T0* a1,T0* a2){
  296. void * R=NULL;
  297. rT7extend((T7*)a1,'\0');
  298. rT7extend((T7*)a2,'\0');
  299. R=(T0 *)fopen(((Tstring *)a1)->_storage,((Tstring *)a2)->_storage);
  300. rT7remove_last((T7*)a1,1);
  301. rT7remove_last((T7*)a2,1);
  302. return R;
  303. }
  304. void rT39copy(T39 *C,T0 * a1){
  305. /*IF*//*AF*//*AE*/
  306. memcpy(C,a1,s[C->id]);
  307. /*FI*/}
  308. void rT39read_word(T39 *C){
  309. rT39skip_separators(C);
  310. /*(IRF3*/(((T7*)oRBC39last_string)->_count)=(0);
  311. /*)*/while (!((rT39end_of_input(C))||(rT3is_separator(rT39last_character(C))))) {
  312. rT7extend((T7*)oRBC39last_string,rT39last_character(C));
  313. rT39read_character(C);
  314. }
  315. }
  316. void rT39read_line_in(T39 *C,T0* a1){
  317. /*(IRF3*/(((T7*)a1)->_count)=(0);
  318. /*)*/rT39read_character(C);
  319. while (!((rT39end_of_input(C))||((rT39last_character(C))==('\12')))) {
  320. rT7extend((T7*)a1,rT39last_character(C));
  321. rT39read_character(C);
  322. }
  323. }
  324. void rT39read_line(T39 *C){
  325. rT39read_line_in(C,oRBC39last_string);
  326. }
  327. void rT39read_character(T39 *C){
  328. C->_last_character_memory=fgetc((C)->_input_stream);
  329. }
  330. char rT7_ix64(T7 *C,int a1){
  331. char R='\0';
  332. R=(C->_storage)[a1-1];
  333. return R;
  334. }
  335. int rT7hash_code(T7 *C){
  336. int R=0;
  337. int _i=0;
  338. _i=(C)->_count;
  339. /*IF*/if ((_i)>(5)) {
  340. _i=5;
  341. }
  342. /*FI*/while (!((_i)==(0))) {
  343. R=(R)+(((unsigned char)rT7item(C,_i)));
  344. _i=(_i)-(1);
  345. }
  346. return R;
  347. }
  348. void rT7extend(T7 *C,char a1){
  349. C->_count=((C)->_count)+(1);
  350. /*IF*/if (((C)->_capacity)<((C)->_count)) {
  351. /*IF*/if (((C)->_capacity)==(0)) {
  352. C->_capacity=16;
  353. C->_storage=(char *)malloc((size_t)C->_capacity);
  354. }
  355. else {
  356. C->_capacity=((C)->_capacity)+(16);
  357. C->_storage=(char *)realloc(C->_storage,(size_t)C->_capacity);
  358. }
  359. /*FI*/}
  360. /*FI*/rT7put(C,a1,(C)->_count);
  361. }
  362. int rT7same_as(T7 *C,T0* a1){
  363. int R=0;
  364. int _i=0;
  365. /*IF*/if (((T0 *)a1)==((T0 *)C)) {
  366. R=1;
  367. }
  368. else {
  369. /*IF*/if ((((T7*)a1)->_count)!=((C)->_count)) {
  370. R=0;
  371. }
  372. else {
  373. _i=(C)->_count;
  374. while (!(((_i)==(0))||(!(rT3same_as(rT7item(C,_i),rT7_ix64((T7*)a1,_i)))))) {
  375. _i=(_i)-(1);
  376. }
  377. R=(_i)==(0);
  378. }
  379. /*FI*/}
  380. /*FI*/return R;
  381. }
  382. void rT7to_upper(T7 *C){
  383. int _i=0;
  384. _i=(C)->_count;
  385. while (!((_i)==(0))) {
  386. rT7put(C,rT3to_upper(rT7item(C,_i)),_i);
  387. _i=(_i)-(1);
  388. }
  389. }
  390. char rT7first(T7 *C){
  391. char R='\0';
  392. R=rT7item(C,1);
  393. return R;
  394. }
  395. void rT7remove_suffix(T7 *C,T0* a1){
  396. rT7remove_last(C,((T7*)a1)->_count);
  397. }
  398. void rT7remove_last(T7 *C,int a1){
  399. C->_count=((C)->_count)-(a1);
  400. }
  401. int rT7has_suffix(T7 *C,T0* a1){
  402. int R=0;
  403. int _i2=0;
  404. int _i1=0;
  405. /*IF*/if ((((T7*)a1)->_count)<=((C)->_count)) {
  406. _i1=(((C)->_count)-(((T7*)a1)->_count))+(1);
  407. _i2=1;
  408. while (!((((_i1)>((C)->_count))||((_i2)>(((T7*)a1)->_count)))||((rT7item(C,_i1))!=(rT7item((T7*)a1,_i2))))) {
  409. _i1=(_i1)+(1);
  410. _i2=(_i2)+(1);
  411. }
  412. R=(_i1)>((C)->_count);
  413. }
  414. /*FI*/return R;
  415. }
  416. int rT7empty(T7 *C){
  417. int R=0;
  418. R=((C)->_count)==(0);
  419. return R;
  420. }
  421. char rT7item(T7 *C,int a1){
  422. char R='\0';
  423. R=(C->_storage)[a1-1];
  424. return R;
  425. }
  426. T0* rT7substring(T7 *C,int a1,int a2){
  427. T0* R=NULL;
  428. int _i=0;
  429. {T7 *n=((T7*)new(7));
  430. rT7make(n,((a2)-(a1))+(1));
  431. R=(T0 *)n;}
  432. _i=a1;
  433. while (!((_i)>(a2))) {
  434. rT7extend((T7*)R,rT7item(C,_i));
  435. _i=(_i)+(1);
  436. }
  437. return R;
  438. }
  439. int rT7is_equal(T7 *C,T0* a1){
  440. int R=0;
  441. int _i=0;
  442. /*IF*/if (((T0 *)C)==((T0 *)a1)) {
  443. R=1;
  444. }
  445. else {
  446. _i=(C)->_count;
  447. R=(_i)==(((T7*)a1)->_count);
  448. while (!((!(R))||((_i)==(0)))) {
  449. R=(rT7item(C,_i))==(rT7item((T7*)a1,_i));
  450. _i=(_i)-(1);
  451. }
  452. }
  453. /*FI*/return R;
  454. }
  455. void rT7append(T7 *C,T0* a1){
  456. int _i=0;
  457. _i=1;
  458. while (!((_i)>(((T7*)a1)->_count))) {
  459. rT7extend(C,rT7_ix64((T7*)a1,_i));
  460. _i=(_i)+(1);
  461. }
  462. }
  463. char rT7last(T7 *C){
  464. char R='\0';
  465. R=rT7item(C,(C)->_count);
  466. return R;
  467. }
  468. void rT7put(T7 *C,char a1,int a2){
  469. (C->_storage)[a2-1]=a1;
  470. }
  471. void rT7swap(T7 *C,int a1,int a2){
  472. char _tmp='\0';
  473. _tmp=rT7item(C,a1);
  474. rT7put(C,rT7item(C,a2),a1);
  475. rT7put(C,_tmp,a2);
  476. }
  477. void rT7copy(T7 *C,T0* a1){
  478. int _i=0;
  479. _i=((T7*)a1)->_count;
  480. C->_count=_i;
  481. /*IF*/if ((_i)>(0)) {
  482. /*IF*/if (((C)->_capacity)<(_i)) {
  483. /*IF*/if (((C)->_capacity)==(0)) {
  484. C->_storage=(char *)malloc((size_t)_i);
  485. }
  486. else {
  487. C->_storage=(char *)realloc(C->_storage,(size_t)_i);
  488. }
  489. /*FI*/C->_capacity=_i;
  490. }
  491. /*FI*/while (!((_i)==(0))) {
  492. rT7put(C,rT7item((T7*)a1,_i),_i);
  493. _i=(_i)-(1);
  494. }
  495. }
  496. /*FI*/}
  497. void rT7prepend(T7 *C,T0* a1){
  498. int _old_count=0;
  499. int _i=0;
  500. _old_count=(C)->_count;
  501. _i=((T7*)a1)->_count;
  502. while (!((_i)==(0))) {
  503. rT7extend(C,'\40');
  504. _i=(_i)-(1);
  505. }
  506. _i=(C)->_count;
  507. while (!((_old_count)==(0))) {
  508. rT7put(C,rT7item(C,_old_count),_i);
  509. _i=(_i)-(1);
  510. _old_count=(_old_count)-(1);
  511. }
  512. _i=((T7*)a1)->_count;
  513. while (!((_i)==(0))) {
  514. rT7put(C,rT7_ix64((T7*)a1,_i),_i);
  515. _i=(_i)-(1);
  516. }
  517. }
  518. void rT7to_lower(T7 *C){
  519. int _i=0;
  520. _i=(C)->_count;
  521. while (!((_i)==(0))) {
  522. rT7put(C,rT3to_lower(rT7item(C,_i)),_i);
  523. _i=(_i)-(1);
  524. }
  525. }
  526. void rT7make(T7 *C,int a1){
  527. C->_count=0;
  528. /*IF*/if ((a1)>(0)) {
  529. /*IF*/if (((C)->_capacity)<(a1)) {
  530. /*IF*/if (((C)->_capacity)==(0)) {
  531. C->_storage=(char *)malloc((size_t)a1);
  532. }
  533. else {
  534. C->_storage=(char *)realloc(C->_storage,(size_t)a1);
  535. }
  536. /*FI*/C->_capacity=a1;
  537. }
  538. /*FI*/}
  539. /*FI*/}
  540. void rT231pretty_print(T231 *C){
  541. XrT66pretty_print((C)->_lower);
  542. rT259put_string((T259*)oRBC27fmt,(T0 *)ms564);
  543. XrT66pretty_print((C)->_upper);
  544. }
  545. void rT231copy(T231 *C,T0 * a1){
  546. /*IF*//*AF*//*AE*/
  547. memcpy(C,a1,s[C->id]);
  548. /*FI*/}
  549. void rT231make(T231 *C,T0 * a1,T0 * a2){
  550. C->_lower=a1;
  551. C->_upper=a2;
  552. }
  553. void rT229pretty_print(T229 *C){
  554. int _i=0;
  555. _i=1;
  556. while (!((_i)>(((T230*)(C)->_list)->_upper))) {
  557. rT224pretty_print((T224*)rT230item((T230*)(C)->_list,_i));
  558. _i=(_i)+(1);
  559. /*IF*/if ((_i)<=(((T230*)(C)->_list)->_upper)) {
  560. rT259put_character((T259*)oRBC27fmt,'\12');
  561. rT259indent((T259*)oRBC27fmt);
  562. }
  563. /*FI*/}
  564. }
  565. void rT229add_last(T229 *C,T0 * a1){
  566. rT230add_last((T230*)(C)->_list,a1);
  567. }
  568. void rT229copy(T229 *C,T0 * a1){
  569. /*IF*//*AF*//*AE*/
  570. memcpy(C,a1,s[C->id]);
  571. /*FI*/}
  572. void rT225pretty_print(T225 *C){
  573. XrT66pretty_print((C)->_expression);
  574. }
  575. void rT225copy(T225 *C,T0 * a1){
  576. /*IF*//*AF*//*AE*/
  577. memcpy(C,a1,s[C->id]);
  578. /*FI*/}
  579. void rT170bracketed_print(T170 *C){
  580. rT259put_character((T259*)oRBC27fmt,'\50');
  581. rT170pretty_print(C);
  582. rT259put_character((T259*)oRBC27fmt,'\51');
  583. }
  584. void rT170fatal_error(/*C*/T0* a1){
  585. rT43fatal_error((T43*)oRBC27eh,a1);
  586. }
  587. T0 * rT170add_comment(T170 *C,T0 * a1){
  588. T0 * R=NULL;
  589. /*IF*/if ((!(a1))||((rT57count((T57*)a1))==(0))) {
  590. R=(T0 *)C;
  591. }
  592. else {
  593. {T218 *n=((T218*)new(218));
  594. rT218make(n,(T0 *)C,a1);
  595. R=(T0 *)n;}}
  596. /*FI*/return R;
  597. }
  598. void rT170pretty_print(T170 *C){
  599. rT259put_string((T259*)oRBC27fmt,(C)->_to_string);
  600. }
  601. T0* rT170to_key(T170 *C){
  602. T0* R=NULL;
  603. R=(C)->_to_string;
  604. return R;
  605. }
  606. void rT170copy(T170 *C,T0 * a1){
  607. /*IF*//*AF*//*AE*/
  608. memcpy(C,a1,s[C->id]);
  609. /*FI*/}
  610. void rT170make(T170 *C,T0 * a1){
  611. C->_start_position=a1;
  612. C->_to_string=(T0 *)ms293;
  613. }
  614. T0 * rT178add_comment(T178 *C,T0 * a1){
  615. T0 * R=NULL;
  616. /*IF*/if ((!(a1))||((rT57count((T57*)a1))==(0))) {
  617. R=(T0 *)C;
  618. }
  619. /*AF*/else {
  620. {T214 *n=((T214*)new(214));
  621. rT214make(n,(T0 *)C,a1);
  622. R=(T0 *)n;}}
  623. /*FI*/return R;
  624. }
  625. void rT178pretty_print(T178 *C){
  626. XrT66print_as_target((C)->_target);
  627. rT259put_string((T259*)oRBC27fmt,XrT65to_string((C)->_procedure_name));
  628. rT259level_incr((T259*)oRBC27fmt);
  629. rT168pretty_print((T168*)(C)->_arguments);
  630. rT259level_decr((T259*)oRBC27fmt);
  631. /*IF*/if (((T259*)oRBC27fmt)->_semi_colon_flag) {
  632. rT259put_character((T259*)oRBC27fmt,'\73');
  633. }
  634. /*FI*/}
  635. void rT178copy(T178 *C,T0 * a1){
  636. /*IF*//*AF*//*AE*/
  637. memcpy(C,a1,s[C->id]);
  638. /*FI*/}
  639. void rT178make(T178 *C,T0 * a1,T0 * a2,T0 * a3){
  640. C->_target=a1;
  641. C->_procedure_name=a2;
  642. C->_arguments=a3;
  643. }
  644. T0 * rT177arg1(T177 *C){
  645. T0 * R=NULL;
  646. R=rT168first((T168*)(C)->_arguments);
  647. return R;
  648. }
  649. T0 * rT177add_comment(T177 *C,T0 * a1){
  650. T0 * R=NULL;
  651. /*IF*/if ((!(a1))||((rT57count((T57*)a1))==(0))) {
  652. R=(T0 *)C;
  653. }
  654. /*AF*/else {
  655. {T214 *n=((T214*)new(214));
  656. rT214make(n,(T0 *)C,a1);
  657. R=(T0 *)n;}}
  658. /*FI*/return R;
  659. }
  660. void rT177pretty_print(T177 *C){
  661. XrT66print_as_target((C)->_target);
  662. rT259put_string((T259*)oRBC27fmt,XrT65to_string((C)->_procedure_name));
  663. rT259put_character((T259*)oRBC27fmt,'\50');
  664. XrT66pretty_print(rT177arg1(C));
  665. rT259put_character((T259*)oRBC27fmt,'\51');
  666. /*IF*/if (((T259*)oRBC27fmt)->_semi_colon_flag) {
  667. rT259put_character((T259*)oRBC27fmt,'\73');
  668. }
  669. /*FI*/}
  670. void rT177copy(T177 *C,T0 * a1){
  671. /*IF*//*AF*//*AE*/
  672. memcpy(C,a1,s[C->id]);
  673. /*FI*/}
  674. void rT177make(T177 *C,T0 * a1,T0 * a2,T0 * a3){
  675. C->_target=a1;
  676. C->_procedure_name=a2;
  677. C->_arguments=a3;
  678. }
  679. T0 * rT176add_comment(T176 *C,T0 * a1){
  680. T0 * R=NULL;
  681. /*IF*/if ((!(a1))||((rT57count((T57*)a1))==(0))) {
  682. R=(T0 *)C;
  683. }
  684. /*AF*/else {
  685. {T214 *n=((T214*)new(214));
  686. rT214make(n,(T0 *)C,a1);
  687. R=(T0 *)n;}}
  688. /*FI*/return R;
  689. }
  690. void rT176pretty_print(T176 *C){
  691. XrT66print_as_target((C)->_target);
  692. rT259put_string((T259*)oRBC27fmt,XrT65to_string((C)->_procedure_name));
  693. /*IF*/if (((T259*)oRBC27fmt)->_semi_colon_flag) {
  694. rT259put_character((T259*)oRBC27fmt,'\73');
  695. }
  696. /*FI*/}
  697. void rT176copy(T176 *C,T0 * a1){
  698. /*IF*//*AF*//*AE*/
  699. memcpy(C,a1,s[C->id]);
  700. /*FI*/}
  701. void rT176make(T176 *C,T0 * a1,T0 * a2){
  702. C->_target=a1;
  703. C->_procedure_name=a2;
  704. }
  705. void rT134warning(/*C*/T0 * a1,T0* a2){
  706. /*UT*/(T43*)oRBC27eh;
  707. rT43add_position(a1);
  708. rT43warning((T43*)oRBC27eh,a2);
  709. }
  710. T0 * rT134to_procedure_or_function(T134 *C){
  711. T0 * R=NULL;
  712. /*IF*/if (!((C)->_type)) {
  713. {T249 *n=((T249*)new(249));
  714. rT249make(n,rT134n(C),(C)->_arguments,(C)->_obsolete_mark,(C)->_header_comment,(C)->_require_assertion,(C)->_local_vars,(C)->_routine_body);
  715. R=(T0 *)n;}}
  716. else {
  717. {T250 *n=((T250*)new(250));
  718. rT250make(n,rT134n(C),(C)->_arguments,(C)->_type,(C)->_obsolete_mark,(C)->_header_comment,(C)->_require_assertion,(C)->_local_vars,(C)->_routine_body);
  719. R=(T0 *)n;}}
  720. /*FI*/return R;
  721. }
  722. void rT134error(/*C*/T0 * a1,T0* a2){
  723. /*UT*/(T43*)oRBC27eh;
  724. rT43add_position(a1);
  725. rT43error((T43*)oRBC27eh,a2);
  726. }
  727. T0 * rT134to_writable_attribute(T134 *C){
  728. T0 * R=NULL;
  729. /*IF*/if (!((C)->_type)) {
  730. rT134error(XrT65start_position(rT127first((T127*)oRBC134names)),(T0 *)ms403);
  731. }
  732.  else if (((int)(C)->_arguments)) {
  733. rT134error(rT49current_position((T49*)oRBC27eiffel_parser),(T0 *)ms404);
  734. }
  735. /*FI*/{T254 *n=((T254*)new(254));
  736. rT254make(n,rT134n(C),(C)->_type);
  737. R=(T0 *)n;}
  738. return R;
  739. }
  740. T0 * rT134to_deferred_routine(T134 *C){
  741. T0 * R=NULL;
  742. /*IF*/if (!((C)->_type)) {
  743. {T202 *n=((T202*)new(202));
  744. rT202make(n,rT134n(C),(C)->_arguments,(C)->_obsolete_mark,(C)->_header_comment,(C)->_require_assertion);
  745. R=(T0 *)n;}}
  746. else {
  747. {T203 *n=((T203*)new(203));
  748. rT203make(n,rT134n(C),(C)->_arguments,(C)->_type,(C)->_obsolete_mark,(C)->_header_comment,(C)->_require_assertion);
  749. R=(T0 *)n;}}
  750. /*FI*/return R;
  751. }
  752. T0 * rT134n(T134 *C){
  753. T0 * R=NULL;
  754. {T126 *n=((T126*)new(126));
  755. rT126make(n,rT134clone(C,oRBC134names));
  756. R=(T0 *)n;}
  757. return R;
  758. }
  759. T0* rT134clone(T134 *C,T0* a1){
  760. T0* R=NULL;
  761. /*IF*/if (((int)a1)) {
  762. R=(T0 *)new(a1->id);
  763. AF_1
  764. XrT28copy(R,a1);
  765. AF_0
  766. }
  767. /*FI*/return R;
  768. }
  769. T0*oRBC134names;
  770. T0 * rT134to_cst_att_integer(T134 *C,T0 * a1){
  771. T0 * R=NULL;
  772. /*IF*/if (((int)(C)->_type)) {
  773. /*IF*/if (XrT56is_integer((C)->_type)) {
  774. {T153 *n=((T153*)new(153));
  775. rT153make(n,rT134n(C),(C)->_type,a1);
  776. R=(T0 *)n;}}
  777.  else if (XrT56is_real((C)->_type)) {
  778. {T151 *n=((T151*)new(151));
  779. rT151make(n,rT134n(C),(C)->_type,rT78to_real_constant((T78*)a1));
  780. R=(T0 *)n;}}
  781.  else if (XrT56is_double((C)->_type)) {
  782. {T152 *n=((T152*)new(152));
  783. rT152make(n,rT134n(C),(C)->_type,rT78to_real_constant((T78*)a1));
  784. R=(T0 *)n;}}
  785. else {
  786. rT134error(XrT65start_position(rT127first((T127*)oRBC134names)),(T0 *)ms275);
  787. }
  788. /*FI*/}
  789. else {
  790. rT134error(XrT65start_position(rT127first((T127*)oRBC134names)),(T0 *)ms276);
  791. }
  792. /*FI*/return R;
  793. }
  794. T0 * rT134to_cst_att_real(T134 *C,T0 * a1){
  795. T0 * R=NULL;
  796. /*IF*/if (((int)(C)->_type)) {
  797. /*IF*/if (XrT56is_real((C)->_type)) {
  798. {T151 *n=((T151*)new(151));
  799. rT151make(n,rT134n(C),(C)->_type,a1);
  800. R=(T0 *)n;}}
  801.  else if (XrT56is_double((C)->_type)) {
  802. {T152 *n=((T152*)new(152));
  803. rT152make(n,rT134n(C),(C)->_type,a1);
  804. R=(T0 *)n;}}
  805.  else if (XrT56is_integer((C)->_type)) {
  806. rT134warning(((T77*)a1)->_start_position,(T0 *)ms270);
  807. {T153 *n=((T153*)new(153));
  808. rT153make(n,rT134n(C),(C)->_type,rT77to_integer_constant((T77*)a1));
  809. R=(T0 *)n;}}
  810. else {
  811. rT134error(XrT65start_position(rT127first((T127*)oRBC134names)),(T0 *)ms272);
  812. }
  813. /*FI*/}
  814. else {
  815. rT134error(XrT65start_position(rT127first((T127*)oRBC134names)),(T0 *)ms273);
  816. }
  817. /*FI*/return R;
  818. }
  819. T0 * rT134to_cst_att_bit(T134 *C,T0 * a1){
  820. T0 * R=NULL;
  821. /*IF*/if ((((int)(C)->_type))&&(XrT56is_bit((C)->_type))) {
  822. {T150 *n=((T150*)new(150));
  823. rT150make(n,rT134n(C),(C)->_type,a1);
  824. R=(T0 *)n;}
  825. }
  826. else {
  827. rT134error(XrT65start_position(rT127first((T127*)oRBC134names)),(T0 *)ms269);
  828. }
  829. /*FI*/return R;
  830. }
  831. T0 * rT134to_cst_att_string(T134 *C,T0 * a1){
  832. T0 * R=NULL;
  833. /*IF*/if ((((int)(C)->_type))&&(XrT56is_string((C)->_type))) {
  834. {T148 *n=((T148*)new(148));
  835. rT148make(n,rT134n(C),(C)->_type,a1);
  836. R=(T0 *)n;}
  837. }
  838. else {
  839. rT134error(XrT65start_position(rT127first((T127*)oRBC134names)),(T0 *)ms268);
  840. }
  841. /*FI*/return R;
  842. }
  843. T0 * rT134to_cst_att_character(T134 *C,T0 * a1){
  844. T0 * R=NULL;
  845. /*IF*/if ((((int)(C)->_type))&&(XrT56is_character((C)->_type))) {
  846. {T147 *n=((T147*)new(147));
  847. rT147make(n,rT134n(C),(C)->_type,a1);
  848. R=(T0 *)n;}
  849. }
  850. else {
  851. rT134error(XrT65start_position(rT127first((T127*)oRBC134names)),(T0 *)ms267);
  852. }
  853. /*FI*/return R;
  854. }
  855. T0 * rT134to_cst_att_boolean(T134 *C,T0 * a1){
  856. T0 * R=NULL;
  857. /*IF*/if ((((int)(C)->_type))&&(XrT56is_boolean((C)->_type))) {
  858. {T146 *n=((T146*)new(146));
  859. rT146make(n,rT134n(C),(C)->_type,a1);
  860. R=(T0 *)n;}
  861. }
  862. else {
  863. rT134error(XrT65start_position(rT127first((T127*)oRBC134names)),(T0 *)ms266);
  864. }
  865. /*FI*/return R;
  866. }
  867. T0 * rT134to_cst_att_unique(T134 *C){
  868. T0 * R=NULL;
  869. T0 * _sp=NULL;
  870. /*IF*/if (!((C)->_type)) {
  871. _sp=XrT65start_position(rT127first((T127*)oRBC134names));
  872. rT134error(_sp,(T0 *)ms264);
  873. }
  874. /*FI*//*IF*/if (!(XrT56is_integer((C)->_type))) {
  875. rT134error(XrT56start_position((C)->_type),(T0 *)ms265);
  876. }
  877. /*FI*/{T142 *n=((T142*)new(142));
  878. rT142make(n,rT134n(C),(C)->_type);
  879. R=(T0 *)n;}
  880. return R;
  881. }
  882. void rT134copy(T134 *C,T0 * a1){
  883. /*IF*//*AF*//*AE*/
  884. memcpy(C,a1,s[C->id]);
  885. /*FI*/}
  886. void rT134add_synonym(/*C*/T0 * a1){
  887. rT127add_last((T127*)oRBC134names,a1);
  888. }
  889. void rT134set_require(T134 *C,T0 * a1,T0 * a2,T0* a3){
  890. /*IF*/if ((((int)a2))||(((int)a3))) {
  891. {T135 *n=((T135*)new(135));
  892. rT135make(n,a1,a2,a3);
  893. C->_require_assertion=(T0 *)n;}
  894. }
  895. /*FI*/}
  896. void rT134set_require_else(T134 *C,T0 * a1,T0 * a2,T0* a3){
  897. /*IF*/if ((((int)a2))||(((int)a3))) {
  898. {T135 *n=((T135*)new(135));
  899. rT135make(n,a1,a2,a3);
  900. C->_require_assertion=(T0 *)n;}
  901. /*(IRF3*/(((T135*)(C)->_require_assertion)->_is_require_else)=(1);
  902. /*)*/}
  903. /*FI*/}
  904. void rT134initialize(T134 *C){
  905. rT127clear((T127*)oRBC134names);
  906. C->_arguments=NULL;
  907. C->_type=NULL;
  908. C->_header_comment=NULL;
  909. C->_obsolete_mark=NULL;
  910. C->_require_assertion=NULL;
  911. C->_local_vars=NULL;
  912. C->_routine_body=NULL;
  913. }
  914. T0 * rT134to_once_routine(T134 *C){
  915. T0 * R=NULL;
  916. /*IF*/if (!((C)->_type)) {
  917. {T252 *n=((T252*)new(252));
  918. rT252make(n,rT134n(C),(C)->_arguments,(C)->_obsolete_mark,(C)->_header_comment,(C)->_require_assertion,(C)->_local_vars,(C)->_routine_body);
  919. R=(T0 *)n;}}
  920. else {
  921. {T253 *n=((T253*)new(253));
  922. rT253make(n,rT134n(C),(C)->_arguments,(C)->_type,(C)->_obsolete_mark,(C)->_header_comment,(C)->_require_assertion,(C)->_local_vars,(C)->_routine_body);
  923. R=(T0 *)n;}}
  924. /*FI*/return R;
  925. }
  926. T0 * rT134to_external_routine(T134 *C,T0 * a1,T0* a2){
  927. T0 * R=NULL;
  928. /*IF*/if (!((C)->_type)) {
  929. {T209 *n=((T209*)new(209));
  930. rT209make(n,rT134n(C),(C)->_arguments,(C)->_obsolete_mark,(C)->_header_comment,(C)->_require_assertion,a1,a2);
  931. R=(T0 *)n;}}
  932. else {
  933. {T210 *n=((T210*)new(210));
  934. rT210make(n,rT134n(C),(C)->_arguments,(C)->_type,(C)->_obsolete_mark,(C)->_header_comment,(C)->_require_assertion,a1,a2);
  935. R=(T0 *)n;}}
  936. /*FI*/return R;
  937. }
  938. void rT237pretty_print(T237 *C){
  939. /*IF*/if (((int)(C)->_comment)) {
  940. rT57pretty_print((T57*)(C)->_comment);
  941. }
  942. else {
  943. rT259indent((T259*)oRBC27fmt);
  944. }
  945. /*FI*/XrT66pretty_print((C)->_expression);
  946. }
  947. void rT237copy(T237 *C,T0 * a1){
  948. /*IF*//*AF*//*AE*/
  949. memcpy(C,a1,s[C->id]);
  950. /*FI*/}
  951. void rT237make(T237 *C,T0 * a1,T0 * a2){
  952. C->_comment=a2;
  953. C->_expression=a1;
  954. }
  955. void rT236pretty_print(T236 *C){
  956. /*IF*/if (((int)(C)->_comment)) {
  957. rT57pretty_print((T57*)(C)->_comment);
  958. }
  959. else {
  960. rT259indent((T259*)oRBC27fmt);
  961. }
  962. /*FI*/rT259put_string((T259*)oRBC27fmt,((T157*)(C)->_tag)->_to_string);
  963. rT259put_string((T259*)oRBC27fmt,(T0 *)ms568);
  964. XrT66pretty_print((C)->_expression);
  965. }
  966. void rT236copy(T236 *C,T0 * a1){
  967. /*IF*//*AF*//*AE*/
  968. memcpy(C,a1,s[C->id]);
  969. /*FI*/}
  970. void rT236make(T236 *C,T0 * a1,T0 * a2,T0 * a3){
  971. C->_comment=a3;
  972. C->_tag=a1;
  973. C->_expression=a2;
  974. }
  975. void rT234pretty_print(T234 *C){
  976. int _i=0;
  977. rT259indent((T259*)oRBC27fmt);
  978. rT259keyword((T259*)oRBC27fmt,/*(IRF4*/(T0 *)ms554/*)*/);
  979. rT259level_incr((T259*)oRBC27fmt);
  980. /*IF*/if (((int)(C)->_header_comment)) {
  981. rT57pretty_print((T57*)(C)->_header_comment);
  982. }
  983. else {
  984. rT259indent((T259*)oRBC27fmt);
  985. }
  986. /*FI*//*IF*/if (((int)(C)->_list)) {
  987. _i=1;
  988. while (!((_i)>(((T156*)(C)->_list)->_upper))) {
  989. /*IF*/if ((((T259*)oRBC27fmt)->_zen_mode)&&((_i)==(((T156*)(C)->_list)->_upper))) {
  990. /*(IRF3*/(((T259*)oRBC27fmt)->_semi_colon_flag)=(0);
  991. /*)*/}
  992. else {
  993. /*(IRF3*/(((T259*)oRBC27fmt)->_semi_colon_flag)=(1);
  994. /*)*/}
  995. /*FI*/rT259indent((T259*)oRBC27fmt);
  996. rT62pretty_print((T62*)rT156item((T156*)(C)->_list,_i));
  997. _i=(_i)+(1);
  998. }
  999. }
  1000. /*FI*/rT259level_decr((T259*)oRBC27fmt);
  1001. rT259indent((T259*)oRBC27fmt);
  1002. }
  1003. void rT234copy(T234 *C,T0 * a1){
  1004. /*IF*//*AF*//*AE*/
  1005. memcpy(C,a1,s[C->id]);
  1006. /*FI*/}
  1007. void rT234make(T234 *C,T0 * a1,T0 * a2,T0* a3){
  1008. C->_start_position=a1;
  1009. C->_header_comment=a2;
  1010. C->_list=a3;
  1011. }
  1012. void rT38put_integer(T38 *C,int a1){
  1013. /*(IRF3*/(((T7*)(T0 *)ms42)->_count)=(0);
  1014. /*)*/rT2append_in(a1,(T0 *)ms42);
  1015. rT38put_string(C,(T0 *)ms42);
  1016. }
  1017. void rT38die_with_code(T38 *C,int a1){
  1018. exit(a1);
  1019. }
  1020. void rT38put_string(T38 *C,T0* a1){
  1021. int _i=0;
  1022. _i=1;
  1023. while (!((_i)>(((T7*)a1)->_count))) {
  1024. rT38put_character(C,rT7_ix64((T7*)a1,_i));
  1025. _i=(_i)+(1);
  1026. }
  1027. }
  1028. int rT38is_connected(T38 *C){
  1029. int R=0;
  1030. R=((int)(C)->_path);
  1031. return R;
  1032. }
  1033. void rT38crash(T38 *C){
  1034. rsp();
  1035. rT38die_with_code(C,1);
  1036. }
  1037. void rT38disconnect(T38 *C){
  1038. int _err=0;
  1039. _err=fclose((C)->_output_stream);
  1040. C->_path=NULL;
  1041. C->_output_stream=stdout;
  1042. }
  1043. void rT38connect_to(T38 *C,T0* a1){
  1044. C->_mode=(T0 *)ms453;
  1045. C->_output_stream=rT38fopen(C,a1,(C)->_mode);
  1046. /*IF*/{/*AT*/C->_path=a1;
  1047. }
  1048. /*FI*/}
  1049. void rT38append_file(T38 *C,T0* a1){
  1050. char _c='\0';
  1051. rT39connect_to((T39*)rT38tmp_file_read(),a1);
  1052. rT39read_character((T39*)rT38tmp_file_read());
  1053. while (!(rT39end_of_input((T39*)rT38tmp_file_read()))) {
  1054. _c=rT39last_character((T39*)rT38tmp_file_read());
  1055. rT38put_character(C,_c);
  1056. rT39read_character((T39*)rT38tmp_file_read());
  1057. }
  1058. rT39disconnect((T39*)rT38tmp_file_read());
  1059. }
  1060. int ofBC34tmp_file_read=0;
  1061. T0*oRBC34tmp_file_read;
  1062. T0 * rT38tmp_file_read(/*C*/void){
  1063. T0 * R=NULL;
  1064. if (ofBC34tmp_file_read==0){
  1065. ofBC34tmp_file_read=1;
  1066. {T39 *n=((T39*)new(39));
  1067. /*(IRF3*/((n)->_mode)=((T0 *)ms26);
  1068. /*)*/R=(T0 *)n;}
  1069. oRBC34tmp_file_read=R;}
  1070. return oRBC34tmp_file_read;}
  1071. void * rT38fopen(T38 *C,T0* a1,T0* a2){
  1072. void * R=NULL;
  1073. rT7extend((T7*)a1,'\0');
  1074. rT7extend((T7*)a2,'\0');
  1075. R=(T0 *)fopen(((Tstring *)a1)->_storage,((Tstring *)a2)->_storage);
  1076. rT7remove_last((T7*)a1,1);
  1077. rT7remove_last((T7*)a2,1);
  1078. return R;
  1079. }
  1080. void rT38copy(T38 *C,T0 * a1){
  1081. /*IF*//*AF*//*AE*/
  1082. memcpy(C,a1,s[C->id]);
  1083. /*FI*/}
  1084. void rT38put_character(T38 *C,char a1){
  1085. char _err='\0';
  1086. _err=fputc(a1,(C)->_output_stream);
  1087. /*IF*/if ((_err)!=(a1)) {
  1088. rT33put_string((T33*)oRBC1std_error,(T0 *)ms1);
  1089. rT38crash(C);
  1090. }
  1091. /*FI*/}
  1092. void rT38make(T38 *C){
  1093. C->_output_stream=stdout;
  1094. }
  1095. void rT167bracketed_print(T167 *C){
  1096. rT259put_character((T259*)oRBC27fmt,'\50');
  1097. rT167pretty_print(C);
  1098. rT259put_character((T259*)oRBC27fmt,'\51');
  1099. }
  1100. T0 * rT167add_comment(T167 *C,T0 * a1){
  1101. T0 * R=NULL;
  1102. /*IF*/if ((!(a1))||((rT57count((T57*)a1))==(0))) {
  1103. R=(T0 *)C;
  1104. }
  1105. else {
  1106. {T218 *n=((T218*)new(218));
  1107. rT218make(n,(T0 *)C,a1);
  1108. R=(T0 *)n;}}
  1109. /*FI*/return R;
  1110. }
  1111. void rT167print_as_target(T167 *C){
  1112. rT167pretty_print(C);
  1113. rT259put_character((T259*)oRBC27fmt,'\56');
  1114. }
  1115. T0 * rT167start_position(T167 *C){
  1116. T0 * R=NULL;
  1117. /*IF*/if (((int)(C)->_list)) {
  1118. R=XrT65start_position(rT126item((T126*)(C)->_list,1));
  1119. }
  1120. /*FI*/return R;
  1121. }
  1122. void rT167pretty_print(T167 *C){
  1123. int _i=0;
  1124. rT259put_string((T259*)oRBC27fmt,(T0 *)ms500);
  1125. rT259level_incr((T259*)oRBC27fmt);
  1126. /*IF*/if (((int)(C)->_list)) {
  1127. rT126pretty_print((T126*)(C)->_list);
  1128. }
  1129. /*FI*/rT259put_string((T259*)oRBC27fmt,(T0 *)ms501);
  1130. rT259level_decr((T259*)oRBC27fmt);
  1131. }
  1132. void rT167copy(T167 *C,T0 * a1){
  1133. /*IF*//*AF*//*AE*/
  1134. memcpy(C,a1,s[C->id]);
  1135. /*FI*/}
  1136. void rT167make(T167 *C,T0 * a1,T0* a2){
  1137. /*IF*/if (((int)a2)) {
  1138. {T126 *n=((T126*)new(126));
  1139. rT126make(n,a2);
  1140. C->_list=(T0 *)n;}
  1141. }
  1142. /*FI*/}
  1143. T0*oRBC67tmp_string;
  1144. T0 * rT67to_prefix_name(T67 *C){
  1145. T0 * R=NULL;
  1146. {T64 *n=((T64*)new(64));
  1147. rT64make(n,rT67clone(C,(C)->_to_string),rT67pos((C)->_li,(C)->_co));
  1148. R=(T0 *)n;}
  1149. return R;
  1150. }
  1151. void rT67extend(T67 *C,char a1){
  1152. rT7extend((T7*)(C)->_to_string,a1);
  1153. }
  1154. T0 * rT67to_e_void(T67 *C){
  1155. T0 * R=NULL;
  1156. {T170 *n=((T170*)new(170));
  1157. rT170make(n,rT67pos((C)->_li,(C)->_co));
  1158. R=(T0 *)n;}
  1159. return R;
  1160. }
  1161. T0 * rT67to_e_result(T67 *C){
  1162. T0 * R=NULL;
  1163. {T169 *n=((T169*)new(169));
  1164. rT169make(n,rT67pos((C)->_li,(C)->_co));
  1165. R=(T0 *)n;}
  1166. return R;
  1167. }
  1168. T0 * rT67to_e_current(T67 *C){
  1169. T0 * R=NULL;
  1170. {T87 *n=((T87*)new(87));
  1171. rT87make(n,rT67pos((C)->_li,(C)->_co),1);
  1172. R=(T0 *)n;}
  1173. return R;
  1174. }
  1175. int rT67isa_keyword(T67 *C){
  1176. int R=0;
  1177. T0* _kt=NULL;
  1178. int _i=0;
  1179. _kt=oRBC67keyword_table;
  1180. _i=((T42*)_kt)->_upper;
  1181. while (!(((_i)==(0))||(rT7same_as((T7*)rT42item((T42*)_kt,_i),(C)->_to_string)))) {
  1182. _i=(_i)-(1);
  1183. }
  1184. R=(_i)>(0);
  1185. return R;
  1186. }
  1187. int rT67count(T67 *C){
  1188. int R=0;
  1189. R=((T7*)(C)->_to_string)->_count;
  1190. return R;
  1191. }
  1192. T0 * rT67to_decl_name(T67 *C){
  1193. T0 * R=NULL;
  1194. {T95 *n=((T95*)new(95));
  1195. rT95make(n,rT67clone(C,(C)->_to_string),rT67pos((C)->_li,(C)->_co));
  1196. R=(T0 *)n;}
  1197. return R;
  1198. }
  1199. T0 * rT67to_feature_name(T67 *C){
  1200. T0 * R=NULL;
  1201. {T65 *n=((T65*)new(65));
  1202. rT65make(n,rT67clone(C,(C)->_to_string),rT67pos((C)->_li,(C)->_co));
  1203. R=(T0 *)n;}
  1204. return R;
  1205. }
  1206. T0 * rT67start_position(T67 *C){
  1207. T0 * R=NULL;
  1208. {T44 *n=((T44*)new(44));
  1209. rT44make(n,(C)->_li,(C)->_co);
  1210. R=(T0 *)n;}
  1211. return R;
  1212. }
  1213. T0*oRBC67keyword_table;
  1214. T0 * rT67to_class_name(T67 *C){
  1215. T0 * R=NULL;
  1216. {T46 *n=((T46*)new(46));
  1217. rT46make(n,(C)->_to_string,rT67pos((C)->_li,(C)->_co));
  1218. R=(T0 *)n;}
  1219. return R;
  1220. }
  1221. T0* rT67clone(T67 *C,T0* a1){
  1222. T0* R=NULL;
  1223. /*IF*/if (((int)a1)) {
  1224. R=(T0 *)new(a1->id);
  1225. AF_1
  1226. XrT28copy(R,a1);
  1227. AF_0
  1228. }
  1229. /*FI*/return R;
  1230. }
  1231. T0* rT67to_key(T67 *C){
  1232. T0* R=NULL;
  1233. R=(C)->_to_string;
  1234. return R;
  1235. }
  1236. T0 * rT67pos(/*C*/int a1,int a2){
  1237. T0 * R=NULL;
  1238. {T44 *n=((T44*)new(44));
  1239. rT44make(n,a1,a2);
  1240. R=(T0 *)n;}
  1241. return R;
  1242. }
  1243. T0 * rT67to_argument_name(T67 *C,T0 * a1,int a2){
  1244. T0 * R=NULL;
  1245. {T86 *n=((T86*)new(86));
  1246. rT86make(n,rT67pos((C)->_li,(C)->_co),XrT47to_string(rT90name((T90*)a1,a2)),a2);
  1247. R=(T0 *)n;}
  1248. return R;
  1249. }
  1250. T0 * rT67to_tag_name(T67 *C){
  1251. T0 * R=NULL;
  1252. {T157 *n=((T157*)new(157));
  1253. rT157make(n,rT67clone(C,(C)->_to_string),rT67pos((C)->_li,(C)->_co));
  1254. R=(T0 *)n;}
  1255. return R;
  1256. }
  1257. T0 * rT67to_infix_name_use(T67 *C){
  1258. T0 * R=NULL;
  1259. {T68 *n=((T68*)new(68));
  1260. rT68make(n,rT67clone(C,(C)->_to_string),rT67pos((C)->_li,(C)->_co));
  1261. R=(T0 *)n;}
  1262. return R;
  1263. }
  1264. T0 * rT67to_infix_name(T67 *C,T0 * a1){
  1265. T0 * R=NULL;
  1266. {T68 *n=((T68*)new(68));
  1267. rT68make(n,rT67clone(C,(C)->_to_string),a1);
  1268. R=(T0 *)n;}
  1269. return R;
  1270. }
  1271.